package com.FundamentalDemos.commonAPI.useString;

public class StringDemo {
    public static void main(String[] args) {
        //学习使用java.lang.String中的各种函数

        //使用字符串常量生成String对象
        String str1 = "abc";
        System.out.println(str1);

        //使用String类无参构造函数生成String对象
        String str2 = new String();
        System.out.println("*" + str2 + "*");

        //使用String类有参构造函数生成String对象
        String str3 = new String("helloworld!");
        System.out.println(str3);

        //使用字符数组生成String对象
        char data[] = {'b', 'c', 'd'};
        String str4 = new String(data);
        System.out.println(str4);

        //使用byte数组生成String对象(自动转成对应的字符byte->char )
        byte[] b = new byte[]{97, 98, 99};
        str4 = new String(b);
        System.out.println(str4);


        //字符串连接符"+"每次都new StringBuilder再new String重复大量运行,会延长运行时间,当大量"+"时可以自己StringBuilder sb = new StringBuilder()循环内sb.append( ... ),最后sb.toString();,这样只生成一次对象,循环中只是不断地调用方法,大大提高运行效率
        StringBuilder sb = new StringBuilder();
        sb.append("com.AdvancedDemos.FileAndIO.HelloWorld!");
        String str = sb.toString();//等价于new String(sb)
    }
}
